﻿using KingsSharp.Common.Data;
using KingsSharp.Core;
using CRM.Admin.Contracts.Model.Sys;
using CRM.Admin.Contracts.Dto.Sys;
using System;
using System.Linq;

namespace CRM.Admin.Contracts.Contract.Sys
{
    /// <summary>
    /// 角色业务契约
    /// </summary>
    public interface IRoleService : IDependency
    {
        /// <summary>
        /// 角色集合
        /// </summary>
        IQueryable<Role> ItemRole { get; }

        /// <summary>
        /// 新增角色
        /// </summary>
        /// <param name="dtos">角色信息dto</param>
        /// <returns></returns>
        OperationResult InsertRole(params RoleDto[] dtos);

        /// <summary>
        /// 编辑角色
        /// </summary>
        /// <param name="dtos">角色信息dto</param>
        /// <returns></returns>
        OperationResult UpdateRole(params RoleDto[] dtos);

        /// <summary>
        /// 删除指定角色
        /// </summary>
        /// <param name="ids"></param>
        /// <returns></returns>
        OperationResult DeleteRole(params Guid[] ids);
    }
}
